home *** CD-ROM | disk | FTP | other *** search
/ New Star Software Collection / NSS_Collection.iso / 3-004 ms visual basic pro 30 / 4.imz / 4.IMA / EXTERNAL.TX_ / EXTERNAL.bin
Text File  |  1993-04-28  |  25KB  |  543 lines

  1.                 EXTERNAL.TXT
  2.  
  3.        Release Notes for Microsoft (R) Visual Basic (TM) Standard Edition
  4.  
  5.                 Version 3.00
  6.  
  7.           (C) Copyright Microsoft Corporation, 1993
  8.  
  9. This document contains release notes for Microsoft Visual Basic for Windows
  10. Standard Edition version 3.0.  Information in this document is more current
  11. than that in the manuals or online Help.
  12.  
  13. Visual Basic Standard Edition users can access external database tables 
  14. using the data control.  Professional Edition users should read Appendix C, 
  15. "Accessing External Databases," in the "Data Access Guide," "Professional
  16. Features," Book 2.
  17.  
  18. ------------------------
  19. How to Use This Document
  20. ------------------------
  21.  
  22. To view EXTERNAL.TXT on screen in Windows Notepad, maximize the Notepad 
  23. window.
  24.  
  25. To print EXTERNAL.TXT, open it in Windows Write, Microsoft Word, or another 
  26. word processor.  Then select the entire document and format the text in 
  27. 10-point Courier before printing.
  28.  
  29. ========
  30. Contents
  31. ========
  32.  
  33. Part    Description
  34. ----    -----------
  35.  1      Accessing External Databases
  36.  
  37.  2      Opening External Tables
  38.    
  39.  3      Achieving Optimal Performance with External Tables
  40.  
  41. ====================================
  42. Part 1: Accessing External Databases
  43. ====================================
  44.  
  45. The Standard Edition of Visual Basic can open any of the supported
  46. external databases.  The following database formats are 
  47. currently supported:
  48.  
  49. - Microsoft Access / Visual Basic (databases other than the open database)
  50. - Btrieve (with data definition files FILE.DDF and FIELD.DDF)
  51. - dBASE III and dBASE IV
  52. - FoxPro and FoxPro for Windows
  53. - Paradox
  54.  
  55. Note
  56. ----
  57. Visual Basic can read and write Microsoft Access databases since it shares 
  58. a common database engine with Microsoft Access.  References to "Visual Basic" 
  59. databases include those databases created or manipulated by Microsoft Access.
  60.  
  61. Pros and Cons of Accessing External Databases
  62. ---------------------------------------------
  63. You have two choices when using data from external sources. 
  64.  
  65.  
  66. You can directly access the external database table, or you can import 
  67. the data into your Visual Basic database.  It would make sense to directly 
  68. access the table if it is already on an established  external database which 
  69. is being actively updated. In this case the mechanisms already set up 
  70. to update, manage and share the data can remain in place, but your 
  71. application will have to deal with the extra overhead involved in fetching 
  72. the external data.
  73.  
  74. External tables can be used in most respects like any other table in 
  75. your Visual Basic database while they are being used by other applications 
  76. sharing the same host server. You can also combine operations that 
  77. include external data from external tables with data stored in the 
  78. local database.  If you choose to import data from external tables into 
  79. Visual Basic tables, this can be accomplished through Microsoft Access, 
  80. or you can also use a Visual Basic application. Visual Basic is especially 
  81. adept at reading ASCII-delimited files using the INPUT # statement.
  82.  
  83. The next sections discuss how to access  external tables. Note that 
  84. you can have an existing Microsoft Access  or Visual Basic database that 
  85. already has tables attached to it. Attached tables have linkage information 
  86. built into the database that permits Visual Basic to access the data as if 
  87. it were a part of your database. In this case, Visual Basic can extract 
  88. data from these attached tables without any extra work on your part.
  89.  
  90. Tips for Using External Tables
  91. ------------------------------
  92.  
  93. When you use an external database table, consider the following tips:
  94.  
  95. - Before your application uses any data access objects, you'll need to
  96.   provide Visual Basic with the location of the .INI file that contains 
  97.   initialization parameters for each of the external databases you expect 
  98.   to use.  You can do this using the SetDataAccessOption statement. For 
  99.   more information, search Help for "SetDataAccessOption."     
  100.  
  101. - The initialization file must contain a section that includes necessary 
  102.   external database setup information.  See the section "Initialization 
  103.   File Details" below for a listing of the .INI file settings needed to 
  104.   connect to each of the supported databases.
  105.  
  106. Note
  107. ----
  108. If you do not have the correct entries (as described below) in your VB.INI or Appname.INI file 
  109. you will trigger the trappable error "Cannot find installable ISAM."
  110.  
  111.  
  112. *       If you access an external table from a Microsoft Access database, you may 
  113. need to supply a password.  You can do this by using the 
  114. SetDefaultWorkspace statement.  For example, the following code indicates the user 
  115. name is "Chrissy" and the password is "HighIQ." 
  116.  
  117.     SetDefaultWorkspace "Chrissy", "HighIQ"
  118.  
  119. For more details, see SetDefaultWorkspace in the Language Reference or in 
  120. Help.
  121.  
  122. *       If you access an external table from Btrieve, Paradox, or an SQL 
  123. database, you may need to supply a password. Note that this password is 
  124. different from a Microsoft Access user password; it's the password set in 
  125. the external database. The database password is supplied in the Connect 
  126. property of the data control  using the PWD identifier. For example, 
  127. the following Connect string includes a password:
  128.  
  129.     "Paradox;PWD=mypword;"
  130.  
  131. *       To access an external table on a network, you must connect to the 
  132. network and have access to the database file or directory. If your network 
  133. redirector supports it, and you want Visual Basic to automatically connect 
  134. to the appropriate file server each time you open an external table, specify 
  135. the fully-qualified network path name for the file in the DatabaseName, 
  136. Connect and RecordSourceName properties. There is no mechanism to provide a 
  137. network share password. In cases where a password is required to gain access 
  138. to a network share, you'll have to connect to the share, provide a password, 
  139. and pre-assign a drive letter to the share before starting your program.
  140.  
  141. For example, if you use a Microsoft LAN Manager network, you might enter 
  142. the following path to connect to a remote dBASE file: 
  143.  
  144. \\server\share\datadir\author.dbf
  145.  
  146. To provide this path when opening a remote dBASE III table, you would code the 
  147. following:
  148.  
  149. ' Assume we want to attach a dBASE III table called AUTHOR
  150. ' on the \\SERVER\SHARE\DATADIR server. 
  151. '
  152. Data1.Databasename = "\\SERVER\SHARE\DATADIR"
  153. Data1.RecordSource = "AUTHOR"
  154. Data1.Connect = "dBASE III"
  155. Data1.Refresh
  156.  
  157. As long as the dBASE file is not moved, the data will be available to our 
  158. application. Generally, the syntax for attaching other types of external 
  159. files is similar to the technique shown above.
  160.  
  161. *       When defining external tables, only Paradox will support primary key 
  162. definitions. Paradox tables require primary keys.
  163.  
  164. *       Although you can use an attached table as if it were a Microsoft 
  165. Access table, there are special considerations. For information about 
  166. working with attached tables, see "Using Attached External Tables" later 
  167. in this document.
  168.  
  169. *       When you work with multiple external database tables, occasionally 
  170. you may find the Updatable property is False. Generally, this is due to the 
  171. complexity of the query. To be able to consistently update external tables, 
  172. you may find it easier to access them in simpler queries.
  173.  
  174. *       When Visual Basic manipulates external databases, it creates 
  175. temporary indexes for the queries being performed on the workstation's 
  176. hard disk - even if the database is on an external (networked) device. 
  177. Temporary space is allocated from the directory indicated by the TEMP 
  178. environment string variable, which usually points to the \WINDOWS\TEMP 
  179. directory. If your system has not established a TEMP environment 
  180. variable, if it points to an invalid path or if your workstation does 
  181. not have sufficient space for these temporary indexes, your application 
  182. may behave unpredictably as Windows and Visual Basic run out of resource 
  183. space. The amount of space needed is a function of the size of the 
  184. external table and can vary from a few thousand bytes to several megabytes.
  185.  
  186. *       When deleting records from dBASE or FoxPro databases, the records 
  187. may reappear when the table is closed and reopened. To tell Visual Basic 
  188. not to fetch deleted records, set the DELETED parameter in the .INI file 
  189. to "On" (the default).
  190.  
  191. ===============================
  192. Part 2: Opening External Tables
  193. ===============================
  194.  
  195. The method for opening each of the external databases is roughly the same. 
  196. Subsequent sections in this appendix deal with the 
  197. individual characteristics for each of the supported external database 
  198. formats.  When using the data control to directly open external tables, 
  199. you will need to either work interactively with Visual Basic's Properties 
  200. window at design time to set the individual properties for the data control, or use 
  201. code in your application to make the settings. 
  202.  
  203. Accessing Paradox Tables
  204. ------------------------
  205. Visual Basic can access external tables from Paradox versions 3.0 and 3.5. 
  206. If you provide the correct password, Visual Basic can open encrypted 
  207. Paradox tables. If you open an external Paradox table, you can extract 
  208. and update data even if others are using it in Paradox.
  209.  
  210. When opening external Paradox database tables directly, you'll also need 
  211. to specify the name of the directory (not a filename) as the DatabaseName 
  212. property of the data control and the name of the table file in the 
  213. RecordSource property.  For example, to open a Paradox file "Author.DB" and 
  214. use the name "ParaAuthor" to reference it as a table object, use the 
  215. following code: 
  216.  
  217. data1.Connect = "Paradox;"         ' Specify database type 
  218. data1.DatabaseName = "C:\Paradox"  ' Point to directory 
  219. data1.RecordSource = "Author"      ' Name database table file data1.Refresh
  220. While Not data1.RecordSet.EOF
  221.  Print data1.RecordSet(0)          ' Dump field(0) to the form 
  222.  data1.RecordSet.MoveNext          ' for all records
  223. Wend
  224.  
  225. Important
  226. ---------
  227. Paradox stores important information about a table's primary key in an 
  228. index (.PX) file.  If you access a Paradox table that has a primary key, 
  229. Visual Basic needs the .PX file to open the external table.  If you delete 
  230. or move this file, you won't be able to open the external table.  If you 
  231. attach a Paradox table that doesn't have a primary key, you cannot 
  232. update data in the table using Visual Basic. To be able to update 
  233. the table, define a primary key in Paradox.
  234.  
  235. Paradox to Microsoft Access Data-Type Conversions
  236. -------------------------------------------------
  237. When you access an external Paradox table, Visual Basic translates 
  238. Paradox data types into the corresponding Visual Basic data types. 
  239. The following table lists the data-type conversions.
  240.  
  241. Paradox data type               Microsoft Access data type
  242. Alphanumeric                    Text
  243. Currency                        Number (FieldSize property set to Double)
  244. Date                            Date/Time
  245. Number                          Number (FieldSize property set to Double)
  246. Short number                    Number (FieldSize property set to Integer)
  247.  
  248.  
  249. Accessing dBASE and FoxPro Files
  250. --------------------------------
  251. Visual Basic can directly open external .DBF files in dBASE III, dBASE IV, 
  252. or FoxPro version 2.0 or 2.5 format.  If you directly open a dBASE or 
  253. FoxPro table file, you can view and update data, even if others are 
  254. using it with dBASE or FoxPro.  If you access a dBASE or FoxPro file, 
  255. you can also tell Visual Basic to use one or more index files 
  256. (.NDX or .MDX for dBASE; .IDX or .CDX for FoxPro) to improve performance.
  257.  
  258. For dBASE and FoxPro databases, Visual Basic keeps track of the table 
  259. indexes in a special information (.INF) file.  When you use Visual Basic 
  260. to update the data in your .DBF file, Visual Basic also updates the index 
  261. files to reflect your changes. The .INF file is created for you when 
  262. you use Visual Basic to create a new index for a dBASE or FoxPro table, 
  263. or you can create them yourself with a text editor. 
  264.  
  265. The format for the .INF files is as follows:
  266.  
  267. TableName.INF contains:
  268. NDX1=<Index 1 Filename>.NDX
  269. NDX2=<Index 2 Filename>.NDX
  270. NDXn=<Index n Filename>.NDX
  271.  
  272. For example, an .INF file for the Authors table would be AUTHORS.INF 
  273. and it might contain:
  274.  
  275. NDX1=CityIndx.NDX
  276. NDX2=NameIndx.NDX
  277.  
  278. Place these index and .INF files in the same directory as the other 
  279. dBASE III files.  FoxPro and dBASE databases are not maintained in a single 
  280. file but in a disk directory which contains separate data, index, and 
  281. other support files.  When opening external FoxPro and dBASE database 
  282. tables directly, you'll also need to specify the name of the directory (not a 
  283. filename) as the DatabaseName property in the data control and the name of the 
  284. table file in the RecordSource property. For example, to open a FoxPro 
  285. version 2.5 file "Author.DBF", use the following code:
  286.  
  287. data1.Connect = "FoxPro 2.5;"           ' Specify database type 
  288. data1.DatabaseName = "C:\FoxPro"        ' Point to directory 
  289. data1.RecordSource = "Author"           ' Name database table file 
  290. data1.Refresh
  291. While Not data1.RecordSet.EOF
  292.     Print data1.RecordSet(0)            ' Dump field(0) to the form 
  293.     data1.RecordSet.MoveNext            ' for all records
  294. Wend
  295.  
  296. FoxPro and dBASE Memo fields are located in separate files. These files 
  297. cannot be located or moved outside of the directory containing the 
  298. table files. FoxPro and dBASE database systems do not physically delete 
  299. records but merely mark them for deletion at a later time. You must PACK 
  300. the .DBF file (using your own utilities) to remove these records from the 
  301. .DBF files. The CompactDatabase function will not affect attached tables. 
  302. If you use the .INI file setting DELETED = ON (in the [dBASE ISAM] section), 
  303. Visual Basic filters out deleted records so that they do not appear in 
  304. recordsets.  With DELETED=OFF, all records are included in the recordsets 
  305. you create, including deleted records. This allows dBASE and FoxPro users 
  306. to undelete records. In this case, when you access a dBASE or FoxPro table, 
  307. Visual Basic builds a Dynaset from the records. When you delete a record, 
  308. Visual Basic deselects the record in the Dynaset and marks the record 
  309. as deleted in the .DBF file. If you refresh the Dynaset or reopen the 
  310. table the records will still be present.
  311.  
  312. Important
  313. =========
  314. If you access a .DBF file and associate an index file (.NDX or .MDX for 
  315. dBASE or .IDX; .CDX for FoxPro), Visual Basic needs the index file to 
  316. open the attached table. If you delete or move index files or the 
  317. information (.INF) file, you won't be able to open the external table.
  318. Additionally, if you use dBASE or FoxPro to update data in a .DBF file 
  319. that you have accessed from your Visual Basic Database, you must also 
  320. update any dBASE or FoxPro indexes associated with the .DBF file. 
  321. If the index files are not current when Visual Basic tries to use them, 
  322. the results of your queries are unpredictable. 
  323.  
  324. dBASE and FoxPro to Microsoft Access Data-Type Conversions
  325. When you access a dBASE or FoxPro file, Visual Basic translates dBASE 
  326. and FoxPro data types into the corresponding Microsoft Access data types. 
  327. The following table lists the data-type conversions.
  328.  
  329. dBASE data type                 Microsoft Access data type
  330. Character                       Text
  331. Date                            Date/Time
  332. General (FoxPro only)           OLE
  333. Logical                         Yes/No
  334. Memo                            Memo
  335. Numeric, Float                  Number (FieldSize property set to Double)
  336.  
  337. Accessing Btrieve Tables
  338. ------------------------
  339. Using Visual Basic, you can directly open in Btrieve 5.1x format. 
  340. To use Btrieve tables, you must have the data definition files FILE.DDF 
  341. and FIELD.DDF, which tell Visual Basic the structure of your tables. 
  342. These files are created by Xtrieve* or by another .DDF 
  343. file-building program. If you delete or move these files or your data 
  344. files, you won't be able to open an attached Btrieve table.
  345. For more information on using Btrieve with Visual Basic, see the text file 
  346. BTRIEVE.TXT in your Visual Basic directory.
  347.  
  348. When accessing Btrieve database tables, you'll need to specify the 
  349. name of the Btrieve data file (.DDF) as the DatabaseName (DATABASE= 
  350. in the Connect property) and the name of the table file in the 
  351. SourceTableName property. In this case the Btrieve file name may have no 
  352. bearing on the name of the table. The correct file names are stored in the FILE.DDF 
  353. file.
  354.  
  355. For example, to open a Btrieve file "FILE.DDF" to reference the Btrieve 
  356. database table "Author", use the following code:
  357.  
  358. data1.Connect = "Btrieve;"           ' Specify database type 
  359. data1.DatabaseName = "C:\Btrieve\FILE.DDF"  ' Point to database file 
  360. data1.RecordSource = "Author"        ' Name database table file 
  361. data1.Refresh
  362.  
  363. While Not data1.RecordSet.EOF
  364.     Print data1.RecordSet(0)     ' Dump field(0) to the form 
  365.     data1.RecordSet.MoveNext     ' for all records
  366. Wend
  367.  
  368. WIN.INI Initialization File Settings 
  369. ------------------------------------
  370. The Btrieve driver uses the [BTRIEVE] section of the WIN.INI file 
  371. (not VB.INI) when it accesses Btrieve files. After you install 
  372. Visual Basic and specify that you want to access Btrieve files, 
  373. the WIN.INI file contains the following default settings:
  374.  
  375. [BTRIEVE]
  376. Options=/m:64 /p:4096 /b:16 /f:20 /l:40 /n:12 /t:c:\VB3\BTRIEVE.TRN
  377.  
  378. The following table gives a brief description of each switch. 
  379. You should consult your Btrieve documentation and BTRIEVE.TXT 
  380. supplied with Visual Basic for a definitive and current listing 
  381. of these settings. If you install another application that modifies 
  382. these settings from the values shown, Visual Basic may not function normally.
  383.  
  384. Switch                          Definition
  385.  
  386. /m                              Memory size
  387. /p                              Page size
  388. /b                              Pre-image buffer size
  389. /f                              Open files
  390. /l                              Multiple locks
  391. /n                              Files in a transaction
  392. /t                              Transaction file name. 
  393.                 (Must be visible to all Btrieve users.)
  394.  
  395. Note   
  396. ----
  397. To use Btrieve data, you must have the Btrieve for Windows dynamic-link 
  398. library (WBTRCALL.DLL), which is not provided with Visual Basic. 
  399. This file is available with Novell* Btrieve for Windows, Novell NetWare* 
  400. SQL, and other Windows-based products that use Btrieve.  If you expect to 
  401. share a Btrieve database, you will need to make sure that the path given 
  402. for the transaction file (as specified above) is visible on the net to all 
  403. users of the database. Generally, this file is placed on a common server 
  404. that all users have access to. The default setting for this parameter 
  405. does not take this into account. 
  406.  
  407. Btrieve to Microsoft Access Data-Type Conversions
  408. -------------------------------------------------
  409. When you access a Btrieve table, Visual Basic translates 
  410. Btrieve data types into the corresponding Microsoft Access data types. 
  411.  
  412. The following table lists the data-type conversions.
  413.  
  414. Btrieve data type               Microsoft Access data type
  415. Date, time                      Date/Time
  416. Float or bfloat (4-byte)        Number (FieldSize property set to Single)                         
  417. Float or bfloat (8-byte), 
  418.     decimal, numeric            Number (FieldSize property set to Double)
  419. Integer (1-, 2-, or 4-byte)     Number (FieldSize property set to Byte, Integer, or Long Integer)
  420. Logical                         Yes/No
  421. Lvar                            OLE Object
  422. Money                           Currency
  423. Note                            Memo
  424. String, lstring, zstring        Text
  425.  
  426. ==========================================================
  427. Part 3: Achieving Optimal Performance with External Tables
  428. ==========================================================
  429.  
  430. Although you can use external tables as if they're regular Microsoft Access 
  431. tables, it's important to keep in mind that they aren't actually in your 
  432. Visual Basic database. Each time you view data in an external table, 
  433. Visual Basic has to retrieve records from another file. This can take 
  434. time, especially if the external table is on a network.
  435.  
  436. If you're using an external table on a network, follow these guidelines 
  437. for best results:
  438.  
  439. *       View only the data you need. Don't page up and down unnecessarily 
  440. in the data. Avoid jumping to the last record in a large table unless 
  441. you want to add new records to the table.
  442.  
  443. *       Use queries to limit the number of records that you fetch. 
  444. This way, Visual Basic can transfer less data over the network. 
  445.  
  446. *       In queries that involve external tables, avoid using functions 
  447. in query criteria. In particular, avoid using aggregate functions, 
  448. such as DSum, anywhere in your queries. When you use an aggregate function, 
  449. Visual Basic retrieves all of the data in the external table in order 
  450. to execute the query.
  451.  
  452. *       If you often add records to an external table, add the records 
  453. to a Microsoft Access-format table and use an action query to append 
  454. all added records in one operation. This saves time because Visual 
  455. Basic won't have to retrieve all the records in the external table.
  456.  
  457. *       Remember that other users may be trying to use an external table 
  458. at the same time you are. When a Visual Basic Database is on a network, 
  459. you should avoid locking records longer than necessary.
  460.  
  461. Note
  462. ----
  463. If the information stored in the attached table link properties changes 
  464. (for example, the database file is moved or a password is changed), 
  465. you won't be able to open the attached table. To specify current 
  466. information, delete the outdated link and attach the table again.
  467.  
  468. Initialization File Details
  469. ---------------------------
  470. When Visual Basic is installed, you can install as many of the external 
  471. database drivers as you want. For those drivers that are installed, 
  472. an associated .INI file entry is made. Shown below are the default 
  473. settings for all supported external database drivers. In some cases, 
  474. these .INI file settings are discussed earlier in the specific driver 
  475. sections. When you ship your application, it will be necessary to create 
  476. an initialization file that has the correct .INI settings for the drivers 
  477. you want to support.
  478.  
  479. Note
  480. ----
  481. To determine the number of retries on commit locks, Visual Basic uses 
  482. the following formula for the actual retry count:
  483.  
  484. Count = LockRetry * CommitLockRetry
  485.  
  486. VB.INI or <Appname>.INI Default Settings
  487. ----------------------------------------
  488.  
  489. [Options]
  490. SystemDB=C:\MYPATH\SYSTEM.MDA   ; Access SYSTEM.MDA for use only if
  491.                 ; Microsoft Access is being used
  492. [ISAM]
  493. PageTimeout=5                   ;500 ms - non-read-locked page timeout 
  494. MaxBufferSize=128               ;128K
  495. LockRetry=20                    ;20 - retries on Read/Write locks 
  496. CommitLockRetry=20              ;20 - retries on Commit locks 
  497. ReadAheadPages=16               ;16 pages
  498.  
  499. [Installable ISAMs]
  500. Paradox 3.X=C:\VB\pdx110.DLL    ;Path of the Paradox driver 
  501. FoxPro  2.0=C:\VB\xbs110.DLL    ;Path of the FoxPro 2.0 driver
  502. FoxPro  2.5=C:\VB\xbs110.DLL    ;Path of the FoxPro 2.5 driver
  503. dBASE III=C:\VB\xbs110.DLL      ;Path of the dBASE III driver
  504. dBASE IV=C:\VB\xbs110.DLL       ;Path of the dBASE IV driver
  505. Btrieve=C:\VB\btrv110.DLL       ;Path of the Btrieve driver
  506.  
  507. [Paradox ISAM]
  508. PageTimeout=600                 ;60 seconds
  509. ParadoxUserName=Joe User        ;Name displayed when lock 
  510.                 ; conflicts occur
  511. ParadoxNetPath=P:\PDOXDB\       ;Path to the PARADOX.NET file
  512. CollatingSequence=Ascii         ;Collating sequence of your files
  513.                 ;  (Ascii, International, Norwegian-Danish, 
  514.                 ;  or Swedish-Finnish) 
  515.                 
  516. [BTrieve ISAM]
  517. PageTimeout=600                 ;60 seconds
  518. [dBase ISAM]
  519. PageTimeout=600                 ;60 seconds CollatingSequence=Ascii
  520.                 ;Collating sequence 
  521.                 ;(Ascii or International)
  522. Century=Off                     ;Use of four-digit dates 
  523.                 ;(On or Off)
  524. Date=American                   ;Date format: correlates to 
  525.                 ;the SET DATE command in dBase
  526. Mark=47                         ;Decimal value of the ascii
  527.                 ;mark character:correlates to the 
  528.                 ;SET MARK command in dBase
  529. Deleted=ON                      ;Show and operate on deleted records 
  530.                 ;Deleted=On: never operate
  531.                 ;on deleted records
  532.  
  533.  
  534. WIN.INI
  535. -------
  536. The following line must appear in WIN.INI (located in your Windows 
  537. directory) if you intend to use external Btrieve tables. The details 
  538. of this entry are discussed in the Btrieve section earlier in this appendix.
  539.  
  540. [BTRIEVE]
  541. Options= /m:64 /P:4096 /b:16 /f:20 /l:40 /n:12 /t:c:\VB\BTRIEVE.TRN
  542.  
  543.